#ifndef SHAPESWINDOW_HPP
#define SHAPESWINDOW_HPP

#include "Window.hpp"
#include "Shape.hpp"

class ShapesWindow : public Window
{
	enum MenuItems { NEW_SQUARE= 1, NEW_CIRCLE, NEW_TRIANGLE };
	const static int MAX_SHAPES= 100, INIT_X= 100, INIT_Y= 100, INIT_SIZE= 100;

	Shape* shapes[MAX_SHAPES];
	int numShapes;
	bool dragging;
	int lastx, lasty;

public:

	ShapesWindow( HINSTANCE hInstance );

	virtual ~ShapesWindow();
	virtual void paint( Canvas& canvas );
	virtual void mouseMove( int x, int y );
	virtual void mouseButtonDown( int x, int y );
	virtual void mouseButtonUp( int x, int y );
	virtual void mouseWheel( int x, int y, bool up );
	virtual void menuSelect( int id );
};

#endif
